# 安装numpy的包需要在终端先安装

# 一般调用包时会重新命名一个简单的名字
import numpy as np

# 参数是一维的列表list，创建一维数组
arr1 = np.array([1,2,3])
print(arr1)

# 参数是二维的列表list，创建二维数组
arr2 = np.array([[1,2,3],[4,5,6]])
print(arr2)

# 引用 ndmin（维度） 创建二维数组
arr3 = np.array([1,2,3,4,5,6],ndmin=2)
print(arr3)

# empty 生成矩阵（（行，列））dtype 数据类型（np.int16 ， np.float ， ’i4‘）
arr4 = np.empty((3,2),dtype=np.int16)
print(arr4)

# 生成全为0的数组，如果生成一位数组，shape参数不需要元组，直接传数组
# 0也是有整数和小数的表示方式，
arr5 = np.zeros(5,dtype='f4')
print(arr5)

# 创建三维张量
arr6 = np.zeros((3,3,3),dtype='f4')
print(arr6)

# 创建全为1的数组，默认数据类型为浮点型
arr7 = np.ones((3,3,3),dtype='f4')
print(arr7)

# 创建相似数组
arr8 = np.zeros_like(arr4)
print(arr8)

# 创建相同数组，数据和格式完全相同
arr9 = np.asarray(arr8)
print(arr9)

# 通过迭代器生成数组，必须加数据类型 dtype= ，否则会报错
it = iter([1,2,3,4,5])
arr10 = np.fromiter(it, dtype=np.float32)
print(arr10)

# 生成等差数列
    # 从start开始到stop结束的区间，分为num等份，返回每一个点的坐标
arr11 = np.linspace(-1,1,10)
print(arr11)

# 生成等比数列
# 生成以base为底， start到stop之间取num个数作为指数
# 结果 ：  10^1    10^1.25   10^1.5   10^1.75   10^2
arr12 = np.logspace(1,2,5,10)
print(arr12)

# 返回正态分布数据
arr13 = np.random.randn(3,2)
print(arr13)

# 产生0到1的随机数组
arr14 = np.random.rand(3,2)
print(arr14)

# 生成指定区间的一维数组
arr15 = np.arange(12)
print(arr15)